From 920bd99d37978b476ebd9acb8a416a9c37d1eecc Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Tue, 1 Jul 2008 11:40:55 +0100 Subject: [PATCH] VT-d: Do CLFLUSH after updating IRTE entries Like root, context and DMA remap page table, interrupt remap table also needs CLFLUSH after any update. Signed-off-by: Weidong Han --- xen/drivers/passthrough/vtd/intremap.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/xen/drivers/passthrough/vtd/intremap.c b/xen/drivers/passthrough/vtd/intremap.c index 5654813b13..42ff5572d6 100644 --- a/xen/drivers/passthrough/vtd/intremap.c +++ b/xen/drivers/passthrough/vtd/intremap.c @@ -153,6 +153,7 @@ static void ioapic_rte_to_remap_entry(struct iommu *iommu, } memcpy(iremap_entry, &new_ire, sizeof(struct iremap_entry)); + iommu_flush_cache_entry(iremap_entry); iommu_flush_iec_index(iommu, 0, index); invalidate_sync(iommu); @@ -378,6 +379,7 @@ static void msi_msg_to_remap_entry( remap_rte->data = 0; memcpy(iremap_entry, &new_ire, sizeof(struct iremap_entry)); + iommu_flush_cache_entry(iremap_entry); iommu_flush_iec_index(iommu, 0, index); invalidate_sync(iommu); -- 2.30.2